\hypertarget{terrain_8c}{
\section{Référence du fichier /home/etu/c/p1006411/chompbombs/src/terrain.c}
\label{terrain_8c}\index{/home/etu/c/p1006411/chompbombs/src/terrain.c@{/home/etu/c/p1006411/chompbombs/src/terrain.c}}
}
{\ttfamily \#include \char`\"{}terrain.h\char`\"{}}\par
{\ttfamily \#include \char`\"{}bombe.h\char`\"{}}\par
{\ttfamily \#include \char`\"{}ennemi.h\char`\"{}}\par
{\ttfamily \#include \char`\"{}chemin.h\char`\"{}}\par
{\ttfamily \#include $<$malloc.h$>$}\par
{\ttfamily \#include $<$assert.h$>$}\par
\subsection*{Fonctions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{terrain_8c_ae01cd4fca68d9262e64cf8f22ecfd434}{terrainInit} (\hyperlink{structterrain}{terrain} $\ast$ter, const int numeroTerrain, const int mode)
\begin{DoxyCompactList}\small\item\em initialise un terrain \item\end{DoxyCompactList}\item 
void \hyperlink{terrain_8c_abe33ec4c65ec249c6cc8e1a04441927d}{terrainLibere} (\hyperlink{structterrain}{terrain} $\ast$ter)
\begin{DoxyCompactList}\small\item\em libère la mémoire allouée pour un terrain \item\end{DoxyCompactList}\item 
int \hyperlink{terrain_8c_aaa0e2acc9fbee30d039e1e7722622751}{terrainPositionValide} (const \hyperlink{structterrain}{terrain} $\ast$ter, const int x, const int y)
\begin{DoxyCompactList}\small\item\em verifie que la position x,y est une case accessible \item\end{DoxyCompactList}\item 
char \hyperlink{terrain_8c_aeedeb6dae05dfe4b4cfa1a2503abc417}{terrainGetXY} (const \hyperlink{structterrain}{terrain} $\ast$ter, const int x, const int y)
\begin{DoxyCompactList}\small\item\em récupere le caractere à la case x,y \item\end{DoxyCompactList}\item 
void \hyperlink{terrain_8c_ad442b003f125c74f40a935dbbb0273dd}{terrainSetXY} (\hyperlink{structterrain}{terrain} $\ast$ter, const int x, const int y, const char objet)
\begin{DoxyCompactList}\small\item\em modifie le caractere à la case x,y \item\end{DoxyCompactList}\item 
const int \hyperlink{terrain_8c_a89eb2a5065a39881bdabcedbeba132a6}{getTailleX} (const \hyperlink{structterrain}{terrain} $\ast$pTer)
\begin{DoxyCompactList}\small\item\em recupere la largeur du terrain \item\end{DoxyCompactList}\item 
const int \hyperlink{terrain_8c_a273af22839aebf729746175e8e8aef76}{getTailleY} (const \hyperlink{structterrain}{terrain} $\ast$pTer)
\begin{DoxyCompactList}\small\item\em recupere la hauteur du terrain \item\end{DoxyCompactList}\item 
int \hyperlink{terrain_8c_aca49d2564e8bae018eec94fd7e925ace}{compteCaisses} (const \hyperlink{structterrain}{terrain} $\ast$ter)
\begin{DoxyCompactList}\small\item\em compte le nombre de caisses sur le terrain \item\end{DoxyCompactList}\item 
int \hyperlink{terrain_8c_ab43d7bc06d2d0ce8e002d7e1147a664f}{estZoneDanger} (int $\ast$$\ast$tab, const int x, const int y)
\begin{DoxyCompactList}\small\item\em retourne 1 si la case x,y est une zone danger, 0 sinon \item\end{DoxyCompactList}\item 
void \hyperlink{terrain_8c_a16bb9a7394ec00e4fd5d9d2b44e32ea3}{initDangerTab} (int $\ast$$\ast$dangerTab, const int x, const int y)
\begin{DoxyCompactList}\small\item\em initialise un tableau \item\end{DoxyCompactList}\item 
void \hyperlink{terrain_8c_a7bdae09db035b21294068cc65bc1f5b3}{remplirDangerTab} (\hyperlink{structterrain}{terrain} $\ast$ter, const int puissance)
\begin{DoxyCompactList}\small\item\em rempli le champs dangerTab du terrain en fonction des bombes présentes sur le terrain \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Documentation des fonctions}
\hypertarget{terrain_8c_aca49d2564e8bae018eec94fd7e925ace}{
\index{terrain.c@{terrain.c}!compteCaisses@{compteCaisses}}
\index{compteCaisses@{compteCaisses}!terrain.c@{terrain.c}}
\subsubsection[{compteCaisses}]{\setlength{\rightskip}{0pt plus 5cm}int compteCaisses (
\begin{DoxyParamCaption}
\item[{const {\bf terrain} $\ast$}]{ter}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_aca49d2564e8bae018eec94fd7e925ace}


compte le nombre de caisses sur le terrain 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in}  & {\em ter} & pointeur sur terrain \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
entier 
\end{DoxyReturn}
\hypertarget{terrain_8c_ab43d7bc06d2d0ce8e002d7e1147a664f}{
\index{terrain.c@{terrain.c}!estZoneDanger@{estZoneDanger}}
\index{estZoneDanger@{estZoneDanger}!terrain.c@{terrain.c}}
\subsubsection[{estZoneDanger}]{\setlength{\rightskip}{0pt plus 5cm}int estZoneDanger (
\begin{DoxyParamCaption}
\item[{int $\ast$$\ast$}]{tab, }
\item[{const int}]{x, }
\item[{const int}]{y}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_ab43d7bc06d2d0ce8e002d7e1147a664f}


retourne 1 si la case x,y est une zone danger, 0 sinon 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in,out}  & {\em tab} & tableau de danger (contient 0 et 1) \\
\hline
\mbox{\tt in}  & {\em x} & entier \\
\hline
\mbox{\tt in}  & {\em y} & entier \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
entier 
\end{DoxyReturn}
\hypertarget{terrain_8c_a89eb2a5065a39881bdabcedbeba132a6}{
\index{terrain.c@{terrain.c}!getTailleX@{getTailleX}}
\index{getTailleX@{getTailleX}!terrain.c@{terrain.c}}
\subsubsection[{getTailleX}]{\setlength{\rightskip}{0pt plus 5cm}const int getTailleX (
\begin{DoxyParamCaption}
\item[{const {\bf terrain} $\ast$}]{ter}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_a89eb2a5065a39881bdabcedbeba132a6}


recupere la largeur du terrain 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in}  & {\em pTer} & pointeur sur terrain \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
entier 
\end{DoxyReturn}
\hypertarget{terrain_8c_a273af22839aebf729746175e8e8aef76}{
\index{terrain.c@{terrain.c}!getTailleY@{getTailleY}}
\index{getTailleY@{getTailleY}!terrain.c@{terrain.c}}
\subsubsection[{getTailleY}]{\setlength{\rightskip}{0pt plus 5cm}const int getTailleY (
\begin{DoxyParamCaption}
\item[{const {\bf terrain} $\ast$}]{ter}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_a273af22839aebf729746175e8e8aef76}


recupere la hauteur du terrain 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in}  & {\em pTer} & pointeur sur terrain \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
entier 
\end{DoxyReturn}
\hypertarget{terrain_8c_a16bb9a7394ec00e4fd5d9d2b44e32ea3}{
\index{terrain.c@{terrain.c}!initDangerTab@{initDangerTab}}
\index{initDangerTab@{initDangerTab}!terrain.c@{terrain.c}}
\subsubsection[{initDangerTab}]{\setlength{\rightskip}{0pt plus 5cm}void initDangerTab (
\begin{DoxyParamCaption}
\item[{int $\ast$$\ast$}]{dangerTab, }
\item[{const int}]{x, }
\item[{const int}]{y}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_a16bb9a7394ec00e4fd5d9d2b44e32ea3}


initialise un tableau 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in,out}  & {\em dangerTab} & tableau \\
\hline
\mbox{\tt in}  & {\em x} & entier \\
\hline
\mbox{\tt in}  & {\em y} & entier \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
none 
\end{DoxyReturn}
\hypertarget{terrain_8c_a7bdae09db035b21294068cc65bc1f5b3}{
\index{terrain.c@{terrain.c}!remplirDangerTab@{remplirDangerTab}}
\index{remplirDangerTab@{remplirDangerTab}!terrain.c@{terrain.c}}
\subsubsection[{remplirDangerTab}]{\setlength{\rightskip}{0pt plus 5cm}void remplirDangerTab (
\begin{DoxyParamCaption}
\item[{{\bf terrain} $\ast$}]{ter, }
\item[{const int}]{puissance}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_a7bdae09db035b21294068cc65bc1f5b3}


rempli le champs dangerTab du terrain en fonction des bombes présentes sur le terrain 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in,out}  & {\em ter} & pointeur sur terrain \\
\hline
\mbox{\tt in}  & {\em puissance} & entier \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
none 
\end{DoxyReturn}
\hypertarget{terrain_8c_aeedeb6dae05dfe4b4cfa1a2503abc417}{
\index{terrain.c@{terrain.c}!terrainGetXY@{terrainGetXY}}
\index{terrainGetXY@{terrainGetXY}!terrain.c@{terrain.c}}
\subsubsection[{terrainGetXY}]{\setlength{\rightskip}{0pt plus 5cm}char terrainGetXY (
\begin{DoxyParamCaption}
\item[{const {\bf terrain} $\ast$}]{ter, }
\item[{const int}]{x, }
\item[{const int}]{y}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_aeedeb6dae05dfe4b4cfa1a2503abc417}


récupere le caractere à la case x,y 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in}  & {\em ter} & pointeur sur terrain \\
\hline
\mbox{\tt in}  & {\em x} & entier \\
\hline
\mbox{\tt in}  & {\em y} & entier \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
caractere 
\end{DoxyReturn}
\hypertarget{terrain_8c_ae01cd4fca68d9262e64cf8f22ecfd434}{
\index{terrain.c@{terrain.c}!terrainInit@{terrainInit}}
\index{terrainInit@{terrainInit}!terrain.c@{terrain.c}}
\subsubsection[{terrainInit}]{\setlength{\rightskip}{0pt plus 5cm}void terrainInit (
\begin{DoxyParamCaption}
\item[{{\bf terrain} $\ast$}]{ter, }
\item[{const int}]{numeroTerrain, }
\item[{const int}]{mode}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_ae01cd4fca68d9262e64cf8f22ecfd434}


initialise un terrain 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in,out}  & {\em ter} & pointeur sur terrain \\
\hline
\mbox{\tt in}  & {\em numeroTerrain} & entier \\
\hline
\mbox{\tt in}  & {\em mode} & entier \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
none 
\end{DoxyReturn}
\hypertarget{terrain_8c_abe33ec4c65ec249c6cc8e1a04441927d}{
\index{terrain.c@{terrain.c}!terrainLibere@{terrainLibere}}
\index{terrainLibere@{terrainLibere}!terrain.c@{terrain.c}}
\subsubsection[{terrainLibere}]{\setlength{\rightskip}{0pt plus 5cm}void terrainLibere (
\begin{DoxyParamCaption}
\item[{{\bf terrain} $\ast$}]{ter}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_abe33ec4c65ec249c6cc8e1a04441927d}


libère la mémoire allouée pour un terrain 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in,out}  & {\em ter} & pointeur sur terrain \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
none 
\end{DoxyReturn}
\hypertarget{terrain_8c_aaa0e2acc9fbee30d039e1e7722622751}{
\index{terrain.c@{terrain.c}!terrainPositionValide@{terrainPositionValide}}
\index{terrainPositionValide@{terrainPositionValide}!terrain.c@{terrain.c}}
\subsubsection[{terrainPositionValide}]{\setlength{\rightskip}{0pt plus 5cm}int terrainPositionValide (
\begin{DoxyParamCaption}
\item[{const {\bf terrain} $\ast$}]{ter, }
\item[{const int}]{x, }
\item[{const int}]{y}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_aaa0e2acc9fbee30d039e1e7722622751}


verifie que la position x,y est une case accessible 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in}  & {\em ter} & pointeur sur terrain \\
\hline
\mbox{\tt in}  & {\em x} & entier \\
\hline
\mbox{\tt in}  & {\em y} & entier \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
entier (0 ou 1) 
\end{DoxyReturn}
\hypertarget{terrain_8c_ad442b003f125c74f40a935dbbb0273dd}{
\index{terrain.c@{terrain.c}!terrainSetXY@{terrainSetXY}}
\index{terrainSetXY@{terrainSetXY}!terrain.c@{terrain.c}}
\subsubsection[{terrainSetXY}]{\setlength{\rightskip}{0pt plus 5cm}void terrainSetXY (
\begin{DoxyParamCaption}
\item[{{\bf terrain} $\ast$}]{ter, }
\item[{const int}]{x, }
\item[{const int}]{y, }
\item[{const char}]{objet}
\end{DoxyParamCaption}
)}}
\label{terrain_8c_ad442b003f125c74f40a935dbbb0273dd}


modifie le caractere à la case x,y 


\begin{DoxyParams}[1]{Paramètres}
\mbox{\tt in,out}  & {\em ter} & pointeur sur terrain \\
\hline
\mbox{\tt in}  & {\em x} & entier \\
\hline
\mbox{\tt in}  & {\em y} & entier \\
\hline
\mbox{\tt in}  & {\em objet} & caractere \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
none 
\end{DoxyReturn}
